import os
import glob
import shutil

def delete_md_files_in_target(root_dir):
    """
    递归删除指定根目录下所有target子目录中的.md文件
    :param root_dir: 要扫描的根目录（例如：C:\\Users\\zhang\\mall）
    """
    # 获取所有包含target子目录的路径
    target_dirs = glob.glob(os.path.join(root_dir, '*', 'target'), recursive=True)
    
    if not target_dirs:
        print(f"在 {root_dir} 下未找到任何target子目录")
        return

    deleted_count = 0
    error_count = 0

    for target_dir in target_dirs:
        # 获取所有.md文件（包括子目录中的文件）
        md_files = glob.glob(os.path.join(target_dir, '**', '*.md'), recursive=True)
        
        if not md_files:
            print(f"在 {target_dir} 中未找到.md文件")
            continue
            
        print(f"在 {target_dir} 中找到 {len(md_files)} 个.md文件")

        for file_path in md_files:
            try:
                # 安全删除前进行二次确认
                if os.path.isfile(file_path):
                    os.remove(file_path)
                    print(f"已删除: {file_path}")
                    deleted_count += 1
                else:
                    print(f"跳过非文件: {file_path}")
            except Exception as e:
                print(f"删除失败 [{file_path}]: {str(e)}")
                error_count += 1
                
    # 输出统计结果
    print(f"\n操作完成! 成功删除 {deleted_count} 个文件, 遇到 {error_count} 个错误")

if __name__ == "__main__":
    # 配置要扫描的根目录
    ROOT_DIR = r"C:\\Users\\zhang\\mall"
    if not os.path.exists(ROOT_DIR):
        print(f"指定的根目录不存在: {ROOT_DIR}")
        exit(1)
    # 执行删除操作
    delete_md_files_in_target(ROOT_DIR)
    
    # 程序结束时暂停（仅Windows系统）
    if os.name == 'nt':
        input("\n按Enter键退出...")